package domain.dao.event;

import core.util.MyBatisRepository;
import domain.entity.event.TunnelEventInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Created by bowen on 2017-08-17.
 */
@MyBatisRepository
public interface TunnelEventInfoDao {

    /**
     * 上传事件
     * @param entity
     * @return
     */
    public int create(TunnelEventInfo entity)throws Exception;

    /**
     * 我发起的事件
     * @param createUser 发起人
     * @return
     */
    public List<TunnelEventInfo> getMyCreateEvents(String createUser);

    /**
     * '@'我的事件
     * @param userId 被AT的用户ID
     * @return
     */
    public List<TunnelEventInfo> getAtEvents(String userId);

    /**
     * 公共事件
     * @param
     * @return
     */
    public List<TunnelEventInfo> getPublicEvents(String userId);

    /**
     * 根据Id查询
     * @param id
     * @return
     */
    public TunnelEventInfo getEventById(long id);

    /**
     * 根据PID查询
     * @param pid
     * @return
     */
    public TunnelEventInfo getEventByPid(long pid);

    /**
     * 查询所有事件
     * @return
     */
    public List<TunnelEventInfo> getAllEvents(String userId);

    public int getTotalEvent(long eventId);

    public void updateEventById(long id);

    public List<TunnelEventInfo> getDetailByEventId(@Param(value = "eventId")long eventId,@Param(value = "userId")String userId);
}
